import java.util.*;

/**
 * @author LKQ
 * @date 2022/5/25 9:50
 * @description 动态规划
 */
public class Solution {
    public static void main(String[] args) {

    }

    public int findSubstringInWraproundString(String p) {
        // dp[i] 为字符串p中以 i结尾的子串的最大长度
        int[] dp = new int[26];
        int n = p.length(), k = 0;
        char[] P = p.toCharArray();
        for (int i = 0; i < n; i++) {
            // 后一个字符与前一个字符相差1或者 -25
            if (i > 0 && (P[i] - P[i-1] + 26) % 26 == 1) {
                ++k;
            }else {
                k = 1;
            }
            dp[P[i] - 'a'] = Math.max(dp[P[i] - 'a'], k);
        }
        int ans = 0;
        for (int i = 0; i < 26; i++) {
            ans += dp[i];
        }
        return ans;
    }
}
